package top.zywork.query;

import lombok.AllArgsConstructor;
import lombok.Builder;
import lombok.Data;
import lombok.EqualsAndHashCode;
import lombok.NoArgsConstructor;

import java.math.BigDecimal;
import java.util.Date;

/**
 * GoodsOrderRefundQuery查询对象类<br/>
 *
 * 创建于2020-04-01<br/>
 *
 * @author http://zywork.top 王振宇
 * @version 1.0
 */
@Data
@NoArgsConstructor
@AllArgsConstructor
@Builder
@EqualsAndHashCode(callSuper = true)
public class GoodsOrderRefundQuery extends PageQuery {

    private static final long serialVersionUID = -9223372034920467080L;

    /**
	 * 退款申请编号
	 */
	private Long id;
	/**
	 * 退款申请编号(最小值)
	 */
	private Long idMin;
	/**
	 * 退款申请编号(最大值)
	 */
	private Long idMax;
	/**
	 * 用户编号
	 */
	private Long userId;
	/**
	 * 用户编号(最小值)
	 */
	private Long userIdMin;
	/**
	 * 用户编号(最大值)
	 */
	private Long userIdMax;
	/**
	 * 店铺编号
	 */
	private Long shopId;
	/**
	 * 店铺编号(最小值)
	 */
	private Long shopIdMin;
	/**
	 * 店铺编号(最大值)
	 */
	private Long shopIdMax;
	/**
	 * 订单编号
	 */
	private Long orderId;
	/**
	 * 订单编号(最小值)
	 */
	private Long orderIdMin;
	/**
	 * 订单编号(最大值)
	 */
	private Long orderIdMax;
	/**
	 * 订单项编号
	 */
	private Long orderItemId;
	/**
	 * 订单项编号(最小值)
	 */
	private Long orderItemIdMin;
	/**
	 * 订单项编号(最大值)
	 */
	private Long orderItemIdMax;
	/**
	 * 订单号
	 */
	private String orderNo;
	/**
	 * 退款单号
	 */
	private Long refundNo;
	/**
	 * 退款单号(最小值)
	 */
	private Long refundNoMin;
	/**
	 * 退款单号(最大值)
	 */
	private Long refundNoMax;
	/**
	 * 支付订单号
	 */
	private String transactionNo;
	/**
	 * 退款类型
	 */
	private Byte refundType;
	/**
	 * 退款类型(最小值)
	 */
	private Byte refundTypeMin;
	/**
	 * 退款类型(最大值)
	 */
	private Byte refundTypeMax;
	/**
	 * 退款订单号
	 */
	private String refundTransactionNo;
	/**
	 * 申请退款金额
	 */
	private BigDecimal applyRefundAmount;
	/**
	 * 申请退款金额(最小值)
	 */
	private BigDecimal applyRefundAmountMin;
	/**
	 * 申请退款金额(最大值)
	 */
	private BigDecimal applyRefundAmountMax;
	/**
	 * 实际退款金额
	 */
	private BigDecimal actualRefundAmount;
	/**
	 * 实际退款金额(最小值)
	 */
	private BigDecimal actualRefundAmountMin;
	/**
	 * 实际退款金额(最大值)
	 */
	private BigDecimal actualRefundAmountMax;
	/**
	 * 退款完成时间
	 */
	private Date refundCompleteTime;
	/**
	 * 退款完成时间(最小值)
	 */
	private Date refundCompleteTimeMin;
	/**
	 * 退款完成时间(最大值)
	 */
	private Date refundCompleteTimeMax;
	/**
	 * 物流公司名称
	 */
	private String logisticsCompany;
	/**
	 * 物流公司编码
	 */
	private String logisticsCode;
	/**
	 * 物流单号
	 */
	private String logisticsNo;
	/**
	 * 退款状态
	 */
	private Byte refundStatus;
	/**
	 * 退款状态(最小值)
	 */
	private Byte refundStatusMin;
	/**
	 * 退款状态(最大值)
	 */
	private Byte refundStatusMax;
	/**
	 * 申请退款说明
	 */
	private String remark;
	/**
	 * 申请退款回复
	 */
	private String replyRemark;
	/**
	 * 版本号
	 */
	private Integer version;
	/**
	 * 版本号(最小值)
	 */
	private Integer versionMin;
	/**
	 * 版本号(最大值)
	 */
	private Integer versionMax;
	/**
	 * 创建时间
	 */
	private Date createTime;
	/**
	 * 创建时间(最小值)
	 */
	private Date createTimeMin;
	/**
	 * 创建时间(最大值)
	 */
	private Date createTimeMax;
	/**
	 * 更新时间
	 */
	private Date updateTime;
	/**
	 * 更新时间(最小值)
	 */
	private Date updateTimeMin;
	/**
	 * 更新时间(最大值)
	 */
	private Date updateTimeMax;
	/**
	 * 是否激活
	 */
	private Byte isActive;
	/**
	 * 是否激活(最小值)
	 */
	private Byte isActiveMin;
	/**
	 * 是否激活(最大值)
	 */
	private Byte isActiveMax;
	
    /**
     * 多个编号(只用于单表，关联表不适用)
     */
    private Long[] ids;
}